package cn.gene.store.order.webapi.mapper;

import cn.gene.timeyan.pojo.store.order.model.OmsOrder;
import com.baomidou.dynamic.datasource.annotation.DS;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.stereotype.Repository;

/**
 * 订单*
 *
 * @author LWG
 * @date 2022/7/23 13:06
 * @since 1.0.0@gene.cn
 */
@Repository
public interface OmsOrderMapper {
    /**
     *添加订单
     * @param omsOrder 添加订单
     * @return
     */
    @DS("master")
    int addOrder(OmsOrder omsOrder);
    /**
     *查找积分数量
     * @param userId 查找积分
     * @return
     */
    @DS("scoreLevel")
    Integer selectByUserId(Long userId);

    /**
     *查找库存数量
     * @param goodsId 查找库存
     * @return 受影响行数
     */
    @DS("master")
    Integer selectByGoodsId(Long goodsId);

    /**
     *兑换订单
     * @param goodsId 更新库存
     * @return 受影响行数
     */
    @DS("master")
    Integer updateStock(@Param("goodsId") Long goodsId,@Param("purchaseVolume") Integer purchaseVolume);

    /**
     *兑换订单
     * @param userId 更新积分
     * @return 受影响行数
     */
    @DS("scoreLevel")
    Integer updateScore(@Param("userId") Long userId,@Param("actualScore") Integer actualScore);

    /**
     *回滚
     * @param userId 回滚积分
     * @return 受影响行数
     */
    @DS("scoreLevel")
    Integer rollbackScore(@Param("userId") Long userId,@Param("actualScore") Integer actualScore);
}
